home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- #$Id$
-
- #
- # Script created by: Stephen R. van den Berg <srb@cuci.nl>, 1999/04/18
- # Donated to the public domain.
- #
- # This script transforms the output of "ip" into more readable text.
- # "ip" is the Linux-advanced-routing configuration tool part of the
- # iproute package.
- #
-
- test "X-h" = "X$1" && echo "Usage: $0 [tablenr [raw ip args...]]" && exit 64
-
- test -z "$*" && set 0
-
- ip route list table "$@" |
- while read network rest
- do set xx $rest
- shift
- proto=""
- via=""
- dev=""
- scope=""
- src=""
- table=""
- case $network in
- broadcast|local|unreachable) via=$network
- network=$1
- shift
- ;;
- esac
- while test $# != 0
- do
- key=$1
- val=$2
- eval "$key=$val"
- shift 2
- done
- echo "$network $via $src $proto $scope $dev $table"
- done | awk -F ' ' '
- BEGIN {
- format="%15s%-3s %15s %15s %8s %8s%7s %s\n";
- printf(format,"target","","gateway","source","proto","scope","dev","tbl");
- }
- { network=$1;
- mask="";
- if(match(network,"/"))
- { mask=" "substr(network,RSTART+1);
- network=substr(network,0,RSTART);
- }
- via=$2;
- src=$3;
- proto=$4;
- scope=$5;
- dev=$6;
- table=$7;
- printf(format,network,mask,via,src,proto,scope,dev,table);
- }
- '
-